Laboratorio 4


Se describe el contenido del laboratorio. Es importante realizar el trabajo previo aunque este no tenga ponderación en la calificación.

Trabajo previo

📖 Revisar los problemas de las notas del Tema 2. Anotar dudas (si existen)

📖 Anotar las dudas (si existen) de las clases previas a este laboratorio.

Notas

📋 Tema 2

Las siguientes notas son una buena referencia para este laboratorio

📋 Sucesiones

Códigos

Ejemplo:

Sea \(\alpha>1\). En \((\mathbb{R},|\cdot|)\), definamos la sucesión \(\left\{x_n\right\}_{n \geq 1} \subseteq \mathbb{R}\) de la siguiente manera: \(x_1>\sqrt{\alpha}\) y

\[ x_{n+1}=\frac{x_n+\alpha}{x_n+1} \]

Visualización de rangos y gráficas de sucesiones

library(plotly)
library(misc3d)
sucesion_rango <- function(x,y,z="",epsilon=0.05,limite = 0){
  
  if(z[1]==""){
    datos <- data.frame(x=x, y = y)
  circulo <- function(limite,epsilon=0.2) {
  list(
    type = 'circle',
    xref = 'x', x0 = limite[1]-epsilon, x1 = limite[1]+epsilon,
    yref = 'y', y0 = limite[2]-epsilon, y1 = limite[2]+epsilon,
    fillcolor = 'rgb(47,145,180)',
    line = list(color = 'rgb(47,145,180)'),
    opacity = 0.2
    )
  }
  }
  else
    datos <- data.frame(x=x, y = y, z = z)

   

  
  if(z[1]==""){
  fig <- plot_ly(datos, 
               x = ~x,
               y = ~y, 
               name = "s_n",
               type = 'scatter',
               mode = 'markers',
               color = 'orange') %>%
        layout(title = "Gráfica rango",
               xaxis =  list(title ="x"))
  
  if((limite!=0)[1])
    fig <- fig %>% layout(
      shapes = list(circulo(limite,epsilon)),
      xaxis = list(rangemode = "tozero"),
      yaxis=list(scaleanchor="x",
                 scaleratio=1,
                 rangemode = "tozero")
      )
  }
  
  else{
    
    f <- function(x, y, z){
      x^2 + y^2 + z^2}
    
    R <- epsilon # radius
    x <- y <- z <- seq(-R, R, length.out = 100) 
    g <- expand.grid(x = x, y = y, z = z)
    voxel <- array(with(g, f(x, y, z)), dim = c(100, 100, 100))
    cont <- computeContour3d(voxel, level = R^2, x = x, y = y, z = z)
    idx <- matrix(0:(nrow(cont)-1), ncol=3, byrow=TRUE)
    
    fig<- plot_ly(
      x = cont[, 1]+limite[1], y = cont[, 2]+limite[2], z = cont[, 3]+limite[3],
      i = idx[, 1], j = idx[, 2], k = idx[, 3],
      type = "mesh3d",
      opacity = 0.2) 
    
    fig <- fig %>% add_trace(data = datos, 
               x = ~x,
               y = ~y, 
               z = ~z,
               name = "s_n",
               type = 'scatter3d',
               opacity = 1,
               color = "red",
               mode = 'markers') %>%
        layout(title = "Gráfica rango",
               xaxis =  list(title ="x"))
  }

  

  return(fig)
}

Ejemplo:

Gráfica del rango de \[s(n)= \left(1-\frac{1}{n},\left(1+\frac{1}{n}\right)^n\right)\]

n <- 1:30
x <- 1-1/n
y <- (1 +1/n) ** n
sucesion_rango(x=x,y=y,epsilon= 0.3,limite=c(1,exp(1)))

Ejemplo:

Gráfica del rango de \[s(n)= \left(1-\frac{1}{n},\left(1+\frac{1}{n}\right)^n,1-\frac{1}{n}\right)\]

n <- 1:30
x <- 1-1/n
y <- (1 +1/n) ** n
z <- 1-1/n
sucesion_rango(x=x,y=y,z=z,epsilon= 0.1,limite=c(1,exp(1),1))
sucesion <- function(x,y,z,epsilon=0.05,limite = 0){
  
   datos <- data.frame(x=x, y = y, z = z)
   
   circulo <- function(x,epsilon,limite){
     
     y1<- seq((-epsilon),(epsilon),by=0.0001)
     z1 <- sqrt(epsilon**2-(y1)**2)+limite[2]
     z2 <- -sqrt(epsilon**2-(y1)**2)+limite[2]
     y <- c(y1+limite[1],y1+limite[1])
     z <- c(z1,z2)
     x <- rep(x,length(z))
     dcir <- data.frame(x=x,y =y, z=z )
     return(dcir)
     }
   
   fig <- plot_ly(datos, 
               x = ~x,
               y = ~y, 
               z = ~z,
               name = "s_n",
               type = 'scatter3d',
               mode = 'markers') %>%
        layout(title = "Gráfica rango",
               xaxis =  list(title ="x"))
    
  for(i in x) 
  {
    
  da <- circulo(i,epsilon,limite)
    
  fig <- fig %>% add_trace(data = da,x~x,y~y,z~z, type = 'scatter3d',
                           mode = 'lines',
                           name = as.character(i)) 
  }
   
   
  return(fig)
}

Ejemplo:

Gráfica de la sucesión

\[s(n)= \left(1-\frac{1}{n},\left(1+\frac{1}{n}\right)^n\right)\]

n <- 1:100
y <- 1-1/n
z <- (1 +1/n) ** n
sucesion(x=n,y=y,z=z,epsilon= 0.1,limite=c(1,exp(1)))

Regresar a página de inicio